diff --git a/xarray/core/formatting.py b/xarray/core/formatting.py
index de4c0efc..df380144 100644
--- a/xarray/core/formatting.py
+++ b/xarray/core/formatting.py
@@ -369,10 +369,12 @@ def _mapping_repr(mapping, title, summarizer, col_width=None):
     if col_width is None:
         col_width = _calculate_col_width(mapping)
     summary = [f"{title}:"]
-    if mapping:
-        summary += [summarizer(k, v, col_width) for k, v in mapping.items()]
+    if len(mapping) > 25:
+        items_to_display = list(mapping.items())[:25]
+        summary += [summarizer(k, v, col_width) for k, v in items_to_display]
+        summary.append("... and more variables")
     else:
-        summary += [EMPTY_REPR]
+        summary += [summarizer(k, v, col_width) for k, v in mapping.items()]
     return "\n".join(summary)
 
 
